package com.cutefool.zero.code.admin.meta.column.dto;

import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Data
public class ColumnDTO {

    /**
     * 字段名称
     */
    private String name;

    /**
     * 显示名称
     */
    private String displayName;

    /**
     * 字段类型
     */
    private String type;

    /**
     * 默认值
     */
    private String defaultValue;

    /**
     * 是否可以为空
     */
    private Byte nullable;

    /**
     * 是否唯一
     */
    private Byte isUnique;

    /**
     * 是否可以搜索
     */
    private Byte isSearch;

    /**
     * 是否默认
     */
    private Byte isDefault;

    /**
     * 字段长度
     */
    private Integer len;
    /**
     * 小数位
     */
    private Integer scale;

    /**
     * 注释
     */
    private String remark;

    /**
     * 表名
     */
    @NotNull(message = "表名不能为空")
    private String tableName;

    /**
     * 配置项
     */
    private String options;

    /**
     * 模型id
     **/
    @NotNull(message = "模型不能为空")
    private Long modelId;
    /**
     * 数据库ID
     **/
    @NotNull(message = "数据库不能为空")
    private Long dbmsId;

    /**
     * 组织id
     **/
    @NotNull(message = "组织不能为空")
    private Long companyId;

    /**
     * 应用id
     **/
    @NotNull(message = "应用不能为空")
    private Long appId;
}
